In order to transmit and/or to store to memory a digital signal, such as an image signal, it is frequently necessary to compress it in order to reduce the transmission time and/or memory space used.
Amongst the compression codes, finite state vectorial quantization uses a set of codebooks. This compression technique consists of dividing the digital signals into blocks, or vectors, of predetermined size, without an overlap. Generally, a vector is a group of adjacent digital samples of the digital signal. In the case of an image signal, a vector is a group of adjacent pixels.
A first vector is coded by selecting a code vector from a first codebook, associated with an initial state. An index associated with the code vector selected is a compressed, or coded, form of the first vector. The following state is determined in accordance with the preceding state and the code vector selected during the preceding state. The following vector is coded by selecting a code vector from a codebook associated with the determined state, and so forth.
In this type of compression coding, when the codebook associated with the determined state does not enable the current vector to be coded to a sufficiently high quality, the codebook associated with the following state likewise does not enable high-quality coding to be effected. An approximation of a given state is thus passed on to all the following states. In the field of finite state machines, this phenomenon is known as derailment. This phenomenon leads to a poor restitution of the digital signal. In the case of an image signal, this causes a distortion of the reconstructed image.
In addition, it is known that a signal can be broken down into frequency subbands before being compressed. Breakdown consists of creating, from the signal, a set of subbands which each contain a limited frequency range. The subbands can be of different resolutions, the resolution of a subband being the number of samples per unit of length used to represent this subband.